部署云網絡托管的企業需要能夠幫助他們管理關鍵業務數據的存儲解決方案。隨著開源軟件和高性能存儲系統的興起,它們對云技術的滲透迫在眉睫。為了強調高性能存儲系統以實現快速計算速度的這一原則,Ceph 存儲應運而生。
什么是 Ceph 存儲?
Ceph 是一個開源軟件,用于在一個完整的系統下促進高度可擴展的對象、塊和基于文件的存儲。Ceph 集群的設計目的是借助一種稱為CRUSH(可擴展散列下的受控復制)的算法運行商品硬件。該算法確保所有數據在集群中正確分布,并且所有集群節點可以無限制地快速吸收和檢索數據。 以這種方式考慮 Ceph - 您有大量數據可以分類為集群和子集群。現在,子集群必須是集群的一部分,以便正確的信息屬于正確的譜系。輸入 CRUSH,這是一種可擴展的散列算法,可幫助您將數據劃分為正確的集群和子集群。可以在需要時檢索到正確分配的數據。因此,Ceph 不僅可以存儲大量數據,還可以簡化對這些數據的訪問。
希望這能回答您的問題——什么是 Ceph 存儲?除了這個解釋之外,本文旨在讓您全面了解 Ceph 存儲的工作原理、特點、優勢以及使用它的原因。所以,讓我們深入了解更多。
Ceph 存儲如何工作?
Ceph 使用 Ceph 塊設備,這是一種可以連接到基于 Linux 的裸機服務器或虛擬機的虛擬磁盤。RADOS (Reliable Autonomic Distributed Object Store)是 Ceph 中的一個重要組件,提供快照和復制等塊存儲功能,可以與 OpenStack 塊存儲集成。Ceph 還使用 POSIX(便攜式操作系統接口),這是一種 Ceph 文件系統,用于在其存儲集群中存儲數據。文件系統使用與 Ceph 塊存儲和對象存儲相同的集群系統來存儲大量數據。
總的來說,Ceph 作為存儲系統的功能非常簡單。因此,它由許多托管和 IT 解決方案提供商為其客戶部署。
Ceph 存儲有哪些特點,我們為什么需要它?
由于當今數據正以指數速度增長,因此組織需要一種能夠有效存儲大量數據的解決方案。這是一個重大挑戰。Ceph 存儲是一個有效的工具,或多或少有效地應對了這個問題。
除此之外,Ceph 的知名度與日俱增,因為——
1) Ceph 支持新興的 IT 基礎架構
如今,在存儲或歸檔大量數據時,軟件定義的存儲解決方案是一種即將到來的實踐。造成這種情況的主要原因之一是遺留基礎設施和解決方案無法以合理的成本滿足存儲需求。此外,隨著 IT 組織越來越多地利用云技術,提供合適的解決方案變得必要。所有這些因素都幫助 Ceph 在新基礎設施方面搶占了重要位置。
2) Ceph 提供動態存儲集群
大多數存儲應用程序并沒有充分利用典型商品服務器中可用的 CPU 和 RAM,但 Ceph 存儲可以。從重新平衡集群到從錯誤和故障中恢復,Ceph 通過使用 Ceph 的 OSD(對象存儲守護進程)的分布式計算能力從客戶端卸載工作以執行所需的工作。
3) Ceph 可擴展、可靠且易于管理
Ceph 允許組織在不影響其 Cap-ex 或 Op-ex 的情況下進行擴展。Ceph 節點利用商用硬件和智能守護程序以及相互通信的 Ceph 存儲集群來動態復制和重新分配數據。這些節點由 Ceph 監視器監控,以確保它們的高可用性。簡而言之,Ceph 在數據存儲方面已經改變了 IT 組織。
Ceph 存儲對 Web 專業人士有何好處?他們如何充分利用它?
Ceph 可以在任何商品硬件上運行,無需任何供應商鎖定。作為軟件定義的存儲解決方案,它還提供了硬件選擇的靈活性。這使得它在網絡專業人士中非常受歡迎。除了這些好處之外,Ceph 還提供了許多優點,可以列舉如下:
1.數據安全
Ceph 使每個數據更新對客戶端可見。除此之外,它們還讓用戶知道這些更新的數據已安全地復制到磁盤上,并且可以在電源或其他故障中幸免于難。此外,RADOS 將同步與安全分離,同時確認更新,以允許 Ceph 實現應用同步和數據安全語義的低延遲更新。通過這種方式,Ceph 存儲可以確保用戶的數據安全。
2.故障檢測
在正確的時間發現錯誤或故障對于保護數據至關重要。但是,如果大規模集群太多,這可能會變得很困難。在這種情況下,OSD(對象存儲守護進程)可以自我報告。如果 OSD 沒有聽到來自對等方的任何故障,那么 RADOS 會考慮 OSD 的兩個維度——a)它是否可訪問或 b)它是否由 CRUSH 分配數據。如果 OSD 沒有響應,它會被標記下來,并且它所擁有的任何主要責任都會臨時傳遞給下一個 OSD。因此,Ceph 監控可以檢測分布式環境中的異常(如果有)。此外,這種分布式檢測允許快速檢測而不會給監視器帶來負擔,同時解決不一致問題。
3.集群恢復和更新
在 OSD 故障的情況下,OSD 集群映射會發生變化。為了提供快速恢復,OSD 維護每個對象的版本號和最近更改的日志。因此,例如,讓我們考慮 OSD1 和 OSD2。如果 OSD1 崩潰并被標記為 down,則更新其狀態并由 OSD2 接管。一旦 OSD1 恢復,它將在啟動時請求最新的地圖,并且監視器會將其標記為已啟動。此 OSD2 意識到不再需要執行主要職責,并允許 OSD1 接管以檢索日志條目。通過這種方式,Ceph 不僅可以保證數據存儲的安全,還可以快速恢復數據集群。
4.數據分發和復制
Ceph 在分發數據時采用了一種簡單的策略。Ceph 使用簡單的散列函數將對象映射到 PG(放置組)。然后這些歸置組被輔助到 OSD 使用 CRUSH 來存儲對象副本。這與必須依賴大量元數據的傳統方法不同,盡管 Ceph 也以非常小的方式使用元數據。此外,在復制方面,數據會根據這些歸置組進行復制,每個歸置組都映射到 OSD 的有序列表。這種分發和復制使 Ceph 成為可擴展的存儲解決方案。
結論
如果您將 Ceph 作為一個整體來看,它解決了存儲系統方面的三個關鍵挑戰——可擴展性、可靠性和性能。最重要的是,它的核心原則——RADOS、CRUSH 和 POSIX 使 Ceph 成為一個整體存儲系統。除此之外,它在保護云存儲方面也很有用。